why is coding so difficult